package com.wl.common.system.service;


import com.wl.common.core.web.dto.RestResultDTO;
import com.wl.common.system.support.dto.LoginDTO;
import com.wl.common.system.support.dto.RegisterDTO;
import com.wl.common.system.support.vo.LoginVO;
import com.wl.common.system.support.vo.SysUserVO;

import javax.servlet.http.HttpServletRequest;

/**
 * @author: wanglin
 * @date: 2023-10-23 周一
 * @Version: 1.0
 * @Description:
 */
public interface SysCommonService {

    /**
     * 注册
     *
     * @param dto
     */
    void register(RegisterDTO dto);

    /**
     * 登录
     *
     * @param dto
     * @return
     */
    RestResultDTO<LoginVO> login(LoginDTO dto);

    /**
     * 退出登录
     *
     * @param request
     */
    void logout(HttpServletRequest request);

    /**
     * 重置密码
     *
     * @param userId
     * @param password
     */
    void resetPassword(String userId, String password);

    /**
     * 获取用户信息
     *
     * @param request
     * @return
     */
    SysUserVO getInfo(HttpServletRequest request);

    /**
     * 刷新token
     *
     * @param request
     * @return
     */
    RestResultDTO<LoginVO> refreshToken(HttpServletRequest request);
}
